1. Field of the Invention
The present invention relates generally to the field of computer systems, and in particular to methods and mechanisms for arbitrating among transactions in a bus fabric.
2. Description of the Related Art
A system on chip (SoC) often includes multiple input/output (I/O) devices and a processor sharing one or more memory devices via a memory controller. Many different agents may generate memory transactions and convey these memory transactions to the memory controller. Often, a coherence point and a switch fabric may be used to maintain the ordering and coherence of memory and input/output (I/O) transactions within the SoC and for routing the transactions to the proper locations.
Typically, the coherence point manages many transactions from multiple sources targeting a variety of agents. For example, one of the roles of the coherence point is to determine which transaction out of many transactions to send on a system bus to the switch fabric. In this role, the coherence point is tasked with avoiding starvation of traffic while providing fairness and efficiently using the available bandwidth on the connection path to the switch fabric.